注:练习题目均出自《明解C语言 入门篇》
一、do语句
1,求多个整数的和及平均值
#include<stdio.h> int main(void) { int sum = 0; //和 int cnt = 0; //整数个数 int retry; //判断是否继续 do{ int t; printf("请输入一个整数:"); scanf("%d",&t); sum = sum + t; cnt = cnt + 1; printf("是否继续?<Yes...0/No...9:"); scanf("%d",&retry); } while(retry == 0); printf("和为%d,平均值为%.2f。\n",sum,(double)sum / cnt); return 0; }
二、whie语句
1,递增显示从0到输入的正整数为止的各个整数
#include<stdio.h> int main(void) { int i,n; printf("请输入一个正整数:"); scanf("%d",&n); i = 0; while(i <= n) printf("%d ",i++); //i的值在显示之后递增 printf("\n"); return 0; }
2,编写一段程序,按照升序显示出小于输入值的所有正偶数
#include<stdio.h> int main(void) { int i,n; printf("请输入一个正整数:"); scanf("%d",&n); i = 0; while(i <= n){ i = i + 2; if(i < n) //应先对递增后的值进行判断,看是否越界 printf("%d ",i); } printf("\n"); return 0; }
3,编写一段程序,使之交替显示+和-,总个数等于所输入的整数值
#include<stdio.h> int main(void) { int num; int i=0; printf("正整数:"); scanf("%d",&num); while (i<num) { if (++i%2) putchar('+'); else putchar('-'); } return 0; }
4,逆向显示正整数
#include<stdio.h> int main(void) { int n; do{ printf("请输入一个正整数:"); scanf("%d",&n); if(n <= 0) puts("请不要输入非正整数。"); }while(n <= 0); printf("该整数逆向显示的结果是 "); while(n > 0){ printf("%d", n % 10); n /= 10; } puts("。 "); return 0; }
三、for语句
1,编写一段程序,根据输入的整数,循环显示1234567890,显示的位数和输入的整数值相同
#include <stdio.h> int main(void) { int i,j,n; j=1; printf("请输入一个整数:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("%d",j); j++; if(j>9) j-=10; } printf("\n"); return 0; }
2,编写一段程序,显示出身高和标准体重的对照表。注:显示的身高范围和间隔由输入的整数值进行控制,标准体重精确到小数点后两位。
#include <stdio.h> int main() { int beginHigh = 0, endHigh = 0; float weight = 0; int margin = 0; printf("开始数值(cm):"); scanf("%d", &beginHigh); printf("结束数值(cm):"); scanf("%d", &endHigh); printf("间隔值(cm):"); scanf("%d", &margin); for (int i = beginHigh;i <= endHigh; i+=margin) { weight = (i - 100)*0.9; //这是一个计算标准体重的公式 printf("%d cm\t\t%.2f\n", i, weight); // \t代表制表符,相当于按下一次Tab键 } return 0; }
3,显示输入的整数值的所有约数
#include<stdio.h> int main(void) { int i,n; printf("整数值:"); scanf("%d",&n); for(i = 1;i <= n;i++) if(n % i == 0) printf("%d ",i); putchar('\n'); return 0; }
4,编写一段程序,输入一个整数值,显示该整数值个' * '。每显示5个就进行换行。
#include<stdio.h> int main() { printf("请输入整数:"); int a; scanf("%d",&a); int b=0; for(int i=0;i<a;i++) { if(b==5) { printf("\n"); b=0; } printf("*"); b=b+1; } }
四、多重循环
1,显示九九乘法表
#include<stdio.h> int main(void) { int i,j; for(i = 1;i <= 9;i++){ for(j = 1;j <= 9;j++) p