#include<stdio.h>
#include <math.h>
int main()
{
int i = 2, m, sq;
printf("请输入整数:");
scanf("%d", &m);
sq = sqrt(m); //这个可以参考下质数的筛选方式
while (i <= sq)
{
if (m % i == 0)
{
printf("%d", i);
m /= i;
if (m != 1)
printf("*");
}
else
i++;
}
if (m != 1)
printf("%d", m);
while (getchar() != EOF)
{
}
}
1705c-exercise-example15
参考方法:
#include <stdio.h> #define GRADE(x) (x>=90)?'A':((x>=60)?'B':'C') int main(){ int score; while(scanf("%d",&score)!=EOF){ printf("%c\n",GRADE(score)); } return 0; }1704c-exercise-example15
if-else 语句的嵌套结构:
#include<stdio.h> void f13(int n){ //成绩的合理性判断 if(n<0||n>100){ printf("Error!\n"); }else{ if(n<60){ printf("C\n"); }else if(n<=89){ printf("B\n"); }else{ printf("A\n"); } } } int main(){ int n; printf("请输入分数: "); scanf("%d",&n); f13(n); return 0; }1703c-exercise-example14
参考方法:
#include<stdio.h> #include <math.h> int main() { int i = 2, m, sq; printf("请输入整数:"); scanf("%d", &m); sq = sqrt(m); //这个可以参考下质数的筛选方式 while (i <= sq) { if (m % i == 0) { printf("%d", i); m /= i; if (m != 1) printf("*"); } else i++; } if (m != 1) printf("%d", m); while (getchar() != EOF) { } }1702c-exercise-example14
参考方法:
#include <stdio.h> int main(){ int n,i; scanf("%d",&n); printf("%d=",n); for(i=2;i<=n;i++){ //分解质因数,可以用i++是因为被2整除过后一定不能再被4整除 while(n%i==0){ printf("%d",i); n/=i; if(n!=1) printf("*"); } } printf("\n"); return 0; }1701c-exercise-example14
参考方法:
#include<stdio.h> int main(void) { int n,count = 1,num,i = 2; printf("请输入整数:"); scanf("%d",&n); num = n; while(i < num) { if(n%i == 0) { if(count == 1) printf("%d=%d",n,i); else printf("*%d",i); count++; n = n/i; } else i++; } return 0; }