4-1.c 运行结果截图:
4-2.c 运行结果截图:
4-3.c 运行结果截图:
4-4.c 运行结果:
输入1时的结果截图:
此时循环了 100次,循环结束 i 的值为:101
输入101时的结果截图:
此时循环了 0次,循环结束 i 的值为:101
4-5.c 运行结果:
输入1时的结果截图:
此时循环了100 次,循环结束 i 的值为:101
输入101时的结果截图:
此时循环了 1次,循环结束 i 的值为:102
4-6.c 运行结果截图:
4-7.c 运行结果截图:
4-8.c 运行结果截图:
4-9.c 运行结果截图:
1、 计算100以内奇数之和,并输出结果。请分别用while、do...while与for实现。
#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS
int main()
{
int i=0,sum=0;
while(i<=100)
{
if(i%2==1)
{
sum += i;
}
i++;
}
printf("%d",sum);
return 0;
}
copy
#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS
int main()
{
int i=0,sum=0;
while(i<=100)
{
if(i%2==1)
{
sum += i;
}
i++;
}
printf("%d",sum);
return 0;
copy
#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS
int main()
{
int sum=0;
for(int i=0;i<=100;i++)
{
if(i%2==1)
sum = sum + i;
}
printf("%d",sum);
return 0;
}
copy
2、 1+1/3+1/5+1/7…,求前30项之和。
#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS
int main()
{
float i=1,sum=0;
while (i <= 30)
{
sum = sum + 1/i;
i = i + 2;
}
printf("%.2f", sum);
return 0;
}
copy
#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS
int main()
{
for(int i=1;i<=10;i++)
{
printf("%d * 10 = %d",i,i*10);
}
return 0;
}
copy
4、 不知道循环次数,但知道结束条件。 统计计算机班的C语言成绩的平均分。输入所有学生的成绩,当输入负数时表示输入结束。 如输入:14 20 30 40 50 -1 则输出The average score is 30.8。
#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS
int main()
{
float i = 0, sum = 0,count=0;
while (i>=0)
{
scanf("%f", &i);
if (i < 0)
break;
sum = sum + i;
count++;
}
printf("average=%.2f", sum / count);
return 0;
}
copy
5、[课后题5.5 ]输出所有水仙花数。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS
int main()
{
int i=100;
while(i<1000)
{
int a=i%10;
int b=i/10%10;
int c=i/100;
if(a*a*a+b*b*b+c*c*c==i)
{
printf("%d",i);
}
i++;
}
return 0;
}
copy
运行结果截图:
6、[课后题5.7]输入一个不多于 5 位的正整数,要求:
(1)求出它是几位数。
(2)分别输出每一位数字。
(3)输出这个正整数的逆序数,例如原整数为12345,则逆序数为54321。
代码
#include<stdio.h>
void main()
{
int x, m, n = 0;
int arr[5] = { 0 };
printf("input x: ");
scanf("%d", &x);
m = x;
do
{
arr[4 - n] = x%10;
n++;
x /= 10;
} while (x > 0);
printf("%d is %d number\n", m, n);
printf("\n");
int j = 0;
j=5 - n;
for (int i = j; i < 5; i++)
{
printf("%d\n", arr[i]);
}
printf("\n");
for (int i = 4; i >= j; i--)
{
printf("%d", arr[i]);
}
return 0;
}
copy
运行结果截图:
7、[课后题5.6]输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数。
代码
#include<stdio.h>
int main()
{
char b;
int letter = 0, space = 0, num = 0, other = 0;
while ((b = getchar()) != '\n')
{
if (('A' <= b) && (b <= 'Z') || (('a' <= b) && (b <= 'z')))
letter++;
else if (b == ' ')
space++;
else if (('0' <= b) && (b <= '9'))
num++;
else
other++;
}
printf("letter is %d\nspace is %d\nnum is %d\nother is %d\n",letter,space,num,other);
return 0;
}
copy
运行结果截图:
8、[课后题5.2]求 1!+3!+5!+7!+…+11! 提示结果为:40284847。
代码
#include<stdio.h>
int main()
{ int sum=0;
for(int i=1;i<12;i=i+2)
{ int a=1;
for(int j=1;j<=i;j++)
{
a=a*j;
}
sum=sum+a;
}
printf("%d\n",sum);
return 0;
}
copy
学习时间 460分钟
操作时间 206分钟
按键次数 5077次
实验次数 19次
报告字数 5703字
是否完成 完成