展开全部
因为c是字符型变量,只能存放一个字符!所以,c=c+','+'5'是无法实现你想象的结果(c='3,5')的。这是你程序语法方面的错误。
再说,c放那么多东西也没什么用处,你就让它放一个字符好了。
这样修改一下:
1、第10行改为if(c=='3')。
2、去掉11、12行。
3、第16行改为if(c=='5')。
4、去掉17、18行。
5、第21行改为if(c!='7')。
改完后你的程序尽管不是最简化、效率最高的程序(还有很多需要优化改进的地方),但是能够运行、基本功能满足题目要求了。
再说,c放那么多东西也没什么用处,你就让它放一个字符好了。
这样修改一下:
1、第10行改为if(c=='3')。
2、去掉11、12行。
3、第16行改为if(c=='5')。
4、去掉17、18行。
5、第21行改为if(c!='7')。
改完后你的程序尽管不是最简化、效率最高的程序(还有很多需要优化改进的地方),但是能够运行、基本功能满足题目要求了。
展开全部
在C语言里char + char等价于使用它们的ASCII码相加,并不是字符串合并操作,合并字符串需要使用strcat实现。
#include <stdio.h>
#include <string.h>
int main()
{
int num = 0;
char result[100];
printf("请输入一个正数");
scanf("%d", &num);
if (num <= 0) {
printf("必须输入正数");
return 1;
}
if (num % 3 == 0) {
strcat(result, "3 ");
}
if (num % 5 == 0) {
strcat(result, "5 ");
}
if (num % 7 == 0) {
strcat(result, "7 ");
}
if (strlen(result)) {
printf("%d can be divided by %s", num, result);
} else {
printf("%d can't be divided by 3 or 5 or 7!\n", num);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个程序的设计思路非常简单:由于3、5、7均为素数,故能够同时被3、5、7整除的必定是它们的最小公倍数。即:3*5*7=105。因此只需要判断该整数是否能够被 105 整除即可。源程序如下:
#include <stdio.h>
{
int num ;
printf("Please input a integer:\n") ;
scanf("%d",&num) ;
if( ( num % 105 ) == 0 )
printf("%d is can be divided by 3 5 7\n" ) ;
else
printf("%d is can not be divided by 3 5 7\n" ) ;
}
}
#include <stdio.h>
{
int num ;
printf("Please input a integer:\n") ;
scanf("%d",&num) ;
if( ( num % 105 ) == 0 )
printf("%d is can be divided by 3 5 7\n" ) ;
else
printf("%d is can not be divided by 3 5 7\n" ) ;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2019-03-29
展开全部
#include <stdio.h>
int main() {
int a;
printf("输入一个整数:");
scanf("%d", &a);
if ((a % 3) == 0 && (a % 5) == 0 && (a % 7) == 0) {
printf("cannot be divided by 3, 5, 7\n");
} else {
printf("%d can be divided by 3, 5, 7\n", a);
}
return 0;
}
这样是判断输入这个数可以被 3 5 7 整除的
c 只是一个普通的字符,只能存一个字符,你那个 + 会变成整数的值加,想改了,c变成字符串
char c[100]
然后把值放到字符串中 strcat
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
语法应该没问题,逻辑似乎混乱了,其实没必要这么复杂,只要分别做三次独立的判断就可以了:
if(a%3)printf("能被3整除");
if(a%5)printf("能被5整除");
if(a%7)printf("能被7整除");
从输出结果可看出能被哪些数整除,如果没有输出就是都不能整除。
if(a%3)printf("能被3整除");
if(a%5)printf("能被5整除");
if(a%7)printf("能被7整除");
从输出结果可看出能被哪些数整除,如果没有输出就是都不能整除。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |