1樓:匿名使用者
%md: m為指定輸出資料的寬度 如果位數小於m,則左端補以空格,如果大於m,則按實際位數輸出專
顯然a=1234的位數是4 大於屬%2d中指定的長度2 按實踐位數輸出 所以結果為1234
%m.nf格式:指定輸出資料寬度為m位,其中小數佔n位,如果數值長度小於m,則左端補空格,%-m.nf與上差不多,只是如果數值長度小於m,則右端補空格,大於的話就按原長度輸出
%2.1f就是指長度2位,含一位小數位,由於原長度大於2,所以原樣輸出,但只能右一位小數,所以結果是123.4
%2.11f,就是含11位小數,顯然長度不夠,則右端補零 結果位12345.54321000000
2樓:☆絕℃戀
(\n%2d,%2.1f,%2.11f) 中\n是換行,%2d是輸出的格式,意思是輸出雙精度該表示式的2位.
3樓:手機使用者
%d是整數輸出。%f是字元輸出,%c是字串輸出。
%2.1f,是指輸出實數一工佔2列,其中有1位小數,如果實際長度小於2,則左補空格。
%2.11f同上。
在c語言中 語句 printf("%d%d%%d%d",1+2,5/2,-2*4,11%3)是怎樣運算的
4樓:匿名使用者
先算1+2=3,這個沒什麼要說的
再計算 5/2=2(整型數與整型數計算,結果也為整型數.5/2=2.5,取整得2)
再計算 -2*4=-8,這個也沒什麼要說的
最後 11%3=2(11/3取餘數) 關於取餘計算.我想說一下,就是隻有整型數才能進行取餘計算. 特殊情況,如果m小於n,m%n=m.
輸出框輸出的是32-82(沒有空格)
還想說一下關於printf的問題.就以本題為例.如果%d的個數少於輸出項的個數,則多餘的項不輸出.如果%d的個數多於輸出項的個數.則多項的%d會輸出不定值.
還有,就是printf是按從左向右的順序輸出的.但是輸出項部分.是以從右向左的順序運算的.
也就是說.本例中.是先運算11%3=2,最後運算1+2=3,但是輸出時,還是自左向右.
這點需要注意...(函式引數的計算順序是自右向左)
關於習題嘛.我覺得你到書店裡買一本好點的二級習題就可以了.最重要的是反覆的做,自己總結知識點.不然.做再多的習題,也沒有用.
祝你成功!
5樓:匿名使用者
在函式裡,引數是從右向左進行的
int a=5;
printf("%d %d",a,++a);
結果是6 6
注意:在某些編譯器中是從左向右
c語言 幫我解釋下程式
6樓:齊海齊海
||||#include
typedef struct
date;
typedef struct /*宣告一個結構體型別*/student_record;
#define max_num 10//10個學生的資料student_record students[max_num];
/* 以下是判斷輸入年月日是否正確*/
int validate(date d)
else
return (day>=1 && day<=31);
} /*以下是輸入輸出函式*/
void input(void) }
/*列印輸出*/
void output(void) }
/*以下是主函式*/
void main(void)
7樓:匿名使用者
#include "stdio.h"
#include "math.h"
#include "string.h"
#include "stdlib.h"
#define true 1 //定義true值位1
#define false 0 //定義false值位0
#define length 2 //定義length值位1
struct date //宣告一個結構體型別date 日期結構為 年/月/日
; struct student_record //宣告一個結構體型別student_record 學生記錄資訊結構為 名字/出生日期/分數
; void setdate(struct date*); //輸入日期
int validatedate(struct date*); //判斷日期是否合理
void showdate(struct date*); 列印日期
void inputrecord(struct student_record* ); //輸入學生記錄資訊
void sort(struct student_record *,int); //安裝學生分數排序
void print(struct student_record *,int); //列印學生記錄資訊
/*以下是主函式*/
void main(void)
void showdate(struct date *dp)
int validatedate(struct date *dp) // 以下是判斷輸入年月日是否正確
else
return (day>=1 && day<=31);
} void inputrecord(struct student_record *stup) //以下是輸入學生記錄資訊函式
printf("請輸入你的分數:");
scanf("%f",&(stup->score));
} void sort(struct student_record *a,int length) //按分數排序 }
/*總結列表*/
void print(struct student_record *sps,int length) }
**不懂就指出來吧
8樓:匿名使用者
這個程式不是很繁瑣啊,
#include "stdio.h"
#include "math.h"
#include "string.h"
#include "stdlib.h"
#define true 1
#define false 0
#define length 2
struct date
; struct student_record /*宣告一個結構體型別*/
; void setdate(struct date*); /* 宣告呼叫函式*/
int validatedate(struct date*);
void showdate(struct date*);
void inputrecord(struct student_record* );
void sort(struct student_record *,int);
void print(struct student_record *,int);
/*以下是主函式*/
void main(void)
void showdate(struct date *dp)
/* 以下是判斷輸入年月日是否正確*/
int validatedate(struct date *dp)
else
return (day>=1 && day<=31);
} /*以下是輸入輸出函式*/
void inputrecord(struct student_record *stup)
printf("請輸入你的分數:"); 如果符合則提示「輸入分數」
scanf("%f",&(stup->score));
} /*按分數排序*/
void sort(struct student_record *a,int length) }
/*總結列表*/
void print(struct student_record *sps,int length) }
自己再好好看看,這個不難,可以找個通訊錄,還有成績管理系統類似的程式看看,那個比這個難多了,對你的提高會很有幫助
9樓:匿名使用者
太長了 大概就是一個學生的姓名,生日,分數的簡單統計,有輸入這些資訊和輸出這些資訊的功能和糾錯能力,很簡單,耐下心硬著頭皮讀4遍,不懂我負責!呵呵
10樓:匿名使用者
*/主函式
*/ void main(void)
void showdate(struct date *dp)輸出年月日(其中月是已定義的字元陣列monthnames中的元素,所以用%s)
/* 判斷輸入年月日是否正確*/
int validatedate(struct date *dp)else
return (day>=1 && day<=31);}
11樓:匿名使用者
哪兒不懂,你得說明一下吧..
c語言 求1-2/3+3/5-4/7+5/9-6/11+...的前n項和,結果保留3位小數。 為什麼輸出不了結果
12樓:匿名使用者
doelse
}while(i<=n);
定義一個flag標記正負號得變數,賦值為1改為double flag=1;
while(i<=n)
13樓:匿名使用者
if(n%2==0) 不對吧,應該是if((i+1)%2==0)吧
14樓:
printf("%.3lf",sum);
lf有問題?
c語言中輸入格式 輸出格式的組成包括哪些內容
希望被樓主採納!printf 函式是格式化輸出函式,一般用於向標準輸出裝置按規定格式輸出資訊。printf 函式的呼叫格式為 printf 格式化字串 參量表 其中格式化字串包括兩部分內容 一部分是正常字元,這些字元將按原樣輸出 另一部分是格式化規定字元,以 開始,後跟一個或幾個規定字元,用來確定輸...
c語言 輸入正整數n,輸出n的所有因子
1 定義整型變數,用於程式的運算。2 輸入兩個大於2的正整數,儲存在變數n和m中。3 獲取臨時變數t的值為m,設定i的初值為2。5 用i對整數m求餘,儲存在變數r中。6 判斷i是否m的質因子,如果是則繼續判斷是否n的質因子,如果不是n的質因子,則退出迴圈。7 如果i不是質因子,則自加1,繼續判斷。8...
c語言已知a 5,b 6,c 7,d 8,m 2,n 2執行
答案不可能是復2,答案應制該是0,這是一個邏輯表達bai式不可能出現0,1之外的數du字。前邊 的優zhi先級高於賦值也就是先dao判斷a b是假,也就是0,把這個零賦值給m,此時m 0,因為邏輯符號 有短路效應,也就是說前邊只有出現假,就不會接著判斷後邊的一部分,所以整體表示式是假,也就是0 答案...