实验二
任务1
#include<stdio.h> int main(){ int num; scanf("%d",&num); printf("2049%04d\n",num); scanf("%d",&num); printf("2049%04d\n",num); scanf("%d",&num); printf("2049%04d\n",num); return 0; }

控制符%04d的作用是:给输入的数据留出四个位置以供填写
循环语句代码和结果如下
#include<stdio.h> int main(){ int num,n; n=1; do {scanf("%d",&num); printf("2049%04d",num); n++; }while(n<=3); return 0; }

实验二任务2
#include<stdio.h> int main() { int x=1234; float f=123.456; double m=123.456; char ch='a'; char a[]="hello,world!"; int y=3,z=4; printf("%d%d\n",y,z); printf("y=%d,z=%d\n",y,z); printf("%8d,%2d\n",x,x); printf("%f,%8f,%8.1f,%0.2f,%.2e\n",f,f,f,f,f); printf("%lf\n",m); printf("%3c\n",ch); printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n",a,a,a,a,a); return 0; }
%8d:表示输出8位整型数据,如果输入的数据不够就在前面补齐相应位置的空格,如本题空出了4个空格在前;
%2d:表示输出2位整型数据,本题输入的数据大于两位,那么按原数据输出;
%f:表示输出单精度浮点型数据,而且默认为小数点后6位
%8f:表示从小数点前的数据位数和小数点后位数包括小数点本身一共有8位有效数据,如果输入小于8位,则按原数据输入。但如果大于8位,则数据会失真,比如输入1234.5678一共9位时,尾数8将失真结果变成1234.567749,即四舍五入为原数据,而且6位小数特征并不会因此改变,失真数据将由计算机随机固定生成,而且发现小数点前数据大于8位,则小数点后数据全部都是0,即6个0,小数点前数据四舍五入现象。
%8.1f:单精度浮点型数据在四舍五入得到1位小数(.1f的作用),比如此处为5,与原数据对接后若小于8位,则按本题一样在前面用空格补齐。如果大于8位,则和上述同理。
%.2e:指的是按指数形式输出字符
%lf:指的是输出长整型单精度浮点型数据,这样就避免了上述%8f中输入数据位数过长带来的弊端;
%3c:指的是在第三个位置打印出定义的字符,前两个位置用空格补齐;
%s:就纯粹的该打啥就打啥,正常输出字符串;
%15s:可以填入十五个单位,包括使用的逗号和感叹号,不足用空格向前补齐;
%10.5s:该表达从前往后看,.5表示的是从原来数据中筛选前5位,本题为hello,然后再来看10的意义,10表示经过筛选过后,能放下数据的个数,即筛选后得到的hello,只有5位,不足十位,则往前补空格5个。大于则原数据输出。
%.3s:则为纯粹的筛选3位hel,然后就行了。

#include<stdio.h> int main() { double x,y; char c1,c2,c3; int a1,a2,a3; scanf("%d%d%d",&a1,&a2,&a3); printf("%d,%d,%d\n",a1,a2,a3); scanf("%c%c%c",&c1,&c2,&c3); printf("%c,%c,%c\n",c1,c2,c3); scanf("%lf,%lf",&x,&y); printf("%f,%lf\n",x,y); return 0; }

#include<stdio.h> int main() { char ans1,ans2; printf("复习了没?(输入y或Y表示复习了,输入N或N表示没有复习:"); ans1=getchar(); getchar(); printf("\n动手敲代码了吗?(输入y或Y表示敲鸭,输入N或N表示没有敲鸭):"); ans2=getchar(); if(ans1=='y'&&ans2=='y'||ans1=='y'&&ans2=='Y'||ans1=='Y'&&ans2=='y'||ans1=='Y'&&ans2=='Y') printf("牛蛙牛蛙\n"); else printf("给爷滚去敲代码\n"); return 0; }

#include<stdio.h> int main() { char x; x=getchar(); if(x>='0'&&x<='9') printf("%c是数字字母\n"); else if(x>='a'&&x<='z') printf("%c是英文字母\n"); else printf("%c是其他字符\n"); return 0; }

实验6
#include<stdio.h> #include<math.h> int main() { int n,sum,q,a1,m; q=2; a1=1; scanf("%d",&n);
if(n>='0'&&n<='9'){ m=pow(2,n+1); sum=a1*(m-1)/(q-1); printf("当n等于%d时,sum=%d",n,sum);
)
else
printf("数据输入有误"); return 0; }



浙公网安备 33010602011771号