用c语言while语句输入一个正整数n,输出[1,n]上除以3余2且除以5余1的所有整数的和
时间: 2023-05-23 12:07:35 浏览: 156
#include <stdio.h>
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
int sum = 0;
int i = 1;
while (i <= n) {
if (i % 3 == 2 && i % 5 == 1) {
sum += i;
}
i++;
}
printf("[1, %d]上除以3余2且除以5余1的所有整数的和为:%d\n", n, sum);
return 0;
}
输入一个正整数n,然后通过while循环判断[1,n]上所有的数是否符合条件(即除以3余2且除以5余1),将符合条件的数的和累加起来,最后输出答案。
相关问题
用c语言while语句输入两个正整数,输出它们的最大公约数
A:
#include <stdio.h>
int main() {
int a, b, tmp;
printf("请输入两个正整数:\n");
scanf("%d %d", &a, &b);
while (b != 0) {
tmp = a % b;
a = b;
b = tmp;
}
printf("最大公约数为:%d\n", a);
return 0;
}
该程序利用辗转相除法(又称欧几里得算法)计算两个数的最大公约数。原理是:两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数。重复这个过程,直到b等于0为止,最后的a即为它们的最大公约数。
使用while语句 c语言输入一个正整数,要求以相反的顺序输出该数
好的,下面是实现该功能的C语言代码:
#include <stdio.h>
int main() {
int num, temp;
printf("请输入一个正整数:");
scanf("%d", &num);
temp = num;
printf("该数的相反顺序为:");
while(temp > 0) {
printf("%d", temp % 10);
temp /= 10;
}
printf("\n");
return 0;
}
首先,程序提示用户输入一个正整数,并通过scanf
函数读取用户输入的数。然后,定义一个变量temp
,将用户输入的数赋值给它,以便后面的处理。接下来,利用while
循环,不断取temp
的个位数,并输出,然后将temp
除以10,以便下一次取十位数。当temp
变成0时,循环结束。最后,程序输出一个换行符,以便下一次输出不与前一次连在一起。
阅读全文
相关推荐
















