C语言 输入一个整数 判断能否被3,5,7整除

作者&投稿:威咽 (若有异议请与网页底部的电邮联系)
如何用C语言实现"输入一个整数,判断它能否被3,5,7整除"?~

按如下输入代码即可:
#includevoid main(){int N,status=0;printf("输入这个数:");scanf("%d",&N);if(N%3==0) status++; if(N%5==0) status++; if(N%7==0) status++; switch(status)
{ case 0: printf("d"); printf("不能被3,5,7中的任何一个整数除");
break;
case 1: printf("c"); printf("只能被3,5,7中的一个整数整除:"); if(N%3==0) printf(" 3"); if(N%5==0) printf(" 5"); if(N%7==0) printf(" 7"); break;
case 3:
printf("a");
printf("能同时被3,5,7整除");
break;
}
}

#include
void main()
{
long a;
printf("input a number:
");
scanf("%d",&a);
if(a%3==0&&a%5==0&&a%7==0)
printf("%d能同时被3,5,7整除
",a);
else if(a%3==0&&a%5==0)
printf("%d能同时被3,5整除
",a);
else if(a%5==0&&a%7==0)
printf("%d能同时被5,7整除
",a);
else if(a%3==0&&a%7==0)
printf("%d能同时被3,7整除
",a);
else if(a%3==0)
printf("%d能被3整除
",a);
else if(a%5==0)
printf("%d能被5整除
",a);
else if(a%7==0)
printf("%d能被7整除
",a);
else
printf("%d不能被3,5,7任一个整除
",a);
}

因为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语言里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!
", 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 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
");        
    } else {   
        printf("%d can be divided by 3, 5, 7
", 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整除");
从输出结果可看出能被哪些数整除,如果没有输出就是都不能整除。


曲水县13046681589: 在C语言中如何判断一个数能否被另一个数整除 -
厍居澳朗: #include <stdio.h> int main() { int target = 10; int divisor = 3;if (target%divisor==0){ printf("Yes"); }else{ printf("No"); } return 0; }用%来判断,即取余,如果没余数的话就是能被整除.

曲水县13046681589: C语言题目:随机输入一个整数,判断能否被3或者5整除,如果能整除就输出该数,否则什么也不输出. -
厍居澳朗: #include void main() { int x; scanf("%d",&x); if ( x%3==0 || x%5==0 ) printf("%d\n",x); }

曲水县13046681589: 如何用c语言编写.问题:输入一个整数m,判断它能否被3整除,要求利用带参的宏实现. -
厍居澳朗: 在表单上放3个控件:1.文本框:txtNum. 用来输入整数2.标签:lblMsg3.命令按钮:btnCheck 单击按钮用来判断输入的数能否被3整除,如果能,则在标签控件上显示“该数是3的倍数”,否则显示“该数不能被3整除”命令按钮的Click()代码如下:If ThisForm.txtNum.Value mod 3=0 ThisForm.lblMsg.Caption="该数是3的倍数"else ThisForm.lblMsg.Caption="该数不能被3整除"

曲水县13046681589: C语言判断用户输入的数能否被3,或5整除,如能.输出该数?(WIN - TC编译)
厍居澳朗: #include <stdio.h> void main() {int num;printf("请输入一个整数");scanf("%d", &num);if(num % 3 == 0 || num % 5 == 0) printf("%d能被3或者5整除", num);getch(); }

曲水县13046681589: c 语言:判断用户输入的数能否被3,或5整除,如能.输出该数 -
厍居澳朗: #includevoid main() { int num; printf("输入一个整数:"); scanf("%d",&num); if(num%3==0||num%5==0) printf("\n能被整除!\n输出:%d\n",num); }

曲水县13046681589: c语言编程题 拜托X﹏X 输入一个自然数,判定该数能否被3整除 输入4个整数,输出最小的整数 输入100个实数,输出相距最远的两个数 输入10个实数,先输出大于平均值的数,后输出小于平均值的数
厍居澳朗: 1.//输入一个自然数,判定该数能否被3整除long number;printf("请输入一个整数:");scanf("%ld",&number);if (number % 3 == 0) { printf("该数能被3整除\n");} else { printf("该数不能被3整除\n");}2.//输入4个整数,输出最小的整...

曲水县13046681589: c语言题目 能被3整除吗? -
厍居澳朗: 很简单,用字符串输入,判断是不是'0'到'9',然后每个字符减去'0'然后相加,看能不能别3整除#include "stdio.h"#include "string.h" int main(int argc, char const *argv[]) { int n; scanf("%d",&n); char str[1000]; int sum; for(int i=0;i sum=0; scanf("%s",str); for(int j=0;j sum+=str[j]-'0'; } printf("%s\n",sum%3==0?"Yes":"No"); } return 0; } 这个可以处理1000位以下的

曲水县13046681589: c语言if函数,输入一个整数,判断并输出它是否是3的倍数? -
厍居澳朗: #include "stdafx.h" #include <iostream> using namespace std;int main() { int x;copycout << "请输2113入整数:" << endl;cin >> x;if (x % 3)5261cout << x << "不是3的倍数4102!1653" << endl;elsecout << x << "是3的倍数!" << endl; system("pause");return 0; }

曲水县13046681589: C语言 输入一个数,判断是否被3,5,7整除,并输出同时被几个整除 -
厍居澳朗: 从键盘输入一个数,判断是否都能被3整除: #include main() { int a; printf("请输入一个数"); scanf("%d",&a); if(a%3==0) printf("%d\n",a); } 有很多自然数除以2余1,除以3余2,除以4余3,除以5余4,除以7余5.求满足这个条件的最...

曲水县13046681589: 编写一个C语言程序,要求:输入任意3个数,并按升序排列;判断一个整数能否被3和5整除 -
厍居澳朗: 第一个 #includevoid sort_num(int *a, int *b) { int c; if (*a > *b) { c = *a; *a = *b; *b = c; } } int main() { int a, b, c; scanf("%d %d %d", &a, &b, &c); sort_num(&a, &b); sort_num(&b, &c); sort_num(&a, &b); printf("%d %d 穿罚扁核壮姑憋太铂咖%d\n...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网