总结作业
作业1:
用3种循环计算 从1累到100和 并把结果打印出来。
答案
#include <stdio.h>
int main()
{
// int i;
// int sum = 0;
// for (i = 1; i <= 100; i++)
// {
// sum+=i;
// /* code */
// }
// printf("%d\n",sum);
// int i = 1;
// int sum = 0;
// while(i <=100){
// sum +=i;
// i++;
// }
// printf("1到100间的和是:%d\n",sum);
int i = 1;
int sum = 0;
do{
sum +=i;
i++;
}while(i<=100);
printf("1~~100间的和是:%d\n", sum);
/* code */
return 0;
}
作业2
使用for语句,求1~20之间所有的奇数的乘积.
答案
#include <stdio.h>
int main()
{
int sum = 1;
for (int i = 1; i < 20; i+=2)
{
sum *=i;
// sum = sum *i; 相当于 sum *=i
/* code */
}
printf("%d\n",sum);
/* code */
return 0;
}
作业3
使用while语句,求1~50之间所有7的倍数之和.
#include <stdio.h>
int main()
{
int i = 1;
int sum = 0;
while(i<=50){
if (i % 7 == 0)
{
sum +=i;
}
i++;
}
printf("1~50 能被7整除的和是%d\n", sum);
/* code */
return 0;
}
作业4
使用do...while语句,求1+2+3+4+...+10的和
#include <stdio.h>
int main()
{
int i = 1;
int sum = 0;
do{
sum +=i;
i++;
}while(i<=10);
printf("1~10之间的和是%d\n",sum);
}
作业5
编写程序,求1~ 100中 2,3,5公倍数的程序。
#include <stdio.h>
int main()
{
for (int i = 1; i <=100; i++)
{
if (i%2 ==0 && i%3==0 && i%5==0)
{
printf("2 3 5的公倍数是%d\n", i);
}
}
}
作业6
编写程序,判断整数n (n>=2)是否为素数。
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("请从控制台输入一个大于2的整数:");
int n;
scanf("%d",&n);
int flag = 1; // 0代表不是素数 1代表是素数
// //这里来判断是否是素数
// //flag = 1;
int i = 2;
while(i<n){
if(n%i==0){
flag = 0;
break;
}
i++;
}
if(flag){
printf("%d是素数",n);
}else{
printf("%d不是素数",n);
}
return 0;
}
作业7
编写程序,连续输入若干数,统计其中为正数的个数.
#include <stdio.h>
int main()
{
int n = 10;
int count =0;
for (int i = 0; i < n; i++)
{
printf("请输入第%d个数\n",i+1);
int number ;
scanf("%2d",&number);
printf("______%d",number );
if (number>0)
{
count++;
/* code */
}
/* code */
}
printf("输入的%d个数是有%d个数是正数\n",n,count);
}
作业8
使用do...while打印下面形状。
#include <stdio.h>
int main()
{
int i = 6;
do{
//这个循环是打印空格的 开始
int j = i;
while(j>0){
printf(" ");
j--;
}
//这个循环是打印空格的 结束
printf("* * * * * * *"); //打印列
printf("\n"); //换行
i-=2;
}while(i>=0);
/* code */
return 0;
}
作业9
使用外层 do...while 循环,内层用for循环实现下面图形
#include <stdio.h>
int main()
{
//最外层循环控制行
for (int i = 1; i <= 4; ++i)
{
//打印 空格
for (int j = 8-i*2; j > 0; j--)
{
printf(" ");
}
//打印数字
for (int k = i; k > 0; k--)
{
printf("%d ", i);
}
printf("\n");
}
}
作业10
某人工资为1600元,若每年增长工资的3%,编写程序,求5年后此人的工资是多少?
#include <stdio.h>
int main()
{
int gz = 1600;
int i = 1;
for (;;)
{
if (i>5)
{
break;
}
gz = gz+ gz*0.03;
printf("第%d年后的工资是%d\n", i,gz);
i++;
/* code */
}
/* code */
return 0;
}
作业11
请在控制台输入一个5位数的整数,然后分别求出个位数,十位数,百位数,千位数,万位数的和。
#include <stdio.h>
int main()
{
int number = 35365;
int i = 1;
int sum = 0;
while(i<=10000){
sum += number / i % 10;
i*=10;
}
// int gewei = number % 10; //个位数:
// int shiwei = number /10 % 10; //十位数
// int baiwei = number /100 % 10; //百位数
// int qianwei = number /1000 % 10; // 千位数
// int wanwei = number /10000 % 10; //万位数
// printf("%d\n",wanwei);
// int sum = gewei + shiwei +baiwei+qianwei+wanwei;
printf("每位数的和是%d\n", sum);
/* code */
return 0;
}
作业12
3.2 让程序要求用户输入一个大写字母,使用嵌套循环产生像下面这样的金字塔图案:
#include <stdio.h>
int main()
{
for (int i = 1; i <= 5; ++i)
{
for (int j = 5-i; j > 0; j--)
{
printf(" ");
/* code */
}
char c = 'A';
int f = i*2-1;
for (int k = f; k > 0; k--)
{
printf("%c", c);
if(k <= f/2+1){
c--;
}else{
c++;
}
}
printf("\n");
/* code */
}
/* code */
return 0;
}
上课练习13
打印下面图形
#include <stdio.h>
int main()
{
int pp = 0;
int p = 1;
//控制行
for (int i = 1; i <= 6; ++i)
{
//控制空格
for (int j = 6-i; j > 0; j--)
{
printf(" ");
/* code */
}
//控制每行打印个数 和打印内容
int current = pp + p;
for (int k = i; k > 0; k--)
{
printf("%d ", current);
}
if (i==1)
{
}else{
pp = p;
p = current;
}
printf("\n");
/* code */
}
/* code */
return 0;
}