解题思路和注意事项:
思路:求出各位数,输出的时候加上空格就OK。
四位数各位的求法:
1、个位,直接对10取余;
2、十位,先对10取整得到前三位数,再对10取余就得到十位;
3、百位,先对100取整得到百位和千位的数,此时是一个两位数,再对10取余就得到百位;
4、千位,直接对1000取整即可。
参考代码:
#include<stdio.h> int main() { int a,b,c,d,num; scanf("%d",&num); a = num / 1000; b = num / 100 % 10; c = num / 10 % 10; d = num % 10; printf("%d %d %d %d\n",a,b,c,d); return 0; }
0.0分
105 人评分
#include <stdio.h> #include <string.h> int main(void) { char str[4]; scanf("%s",str); printf("%s",str); for(int i=0;i<=3;i++) { putchar(str[i]); if(i!=3) putchar(' '); } return 0; }
#include <stdio.h> void desp(int a); int main() { int a; scanf("%d",&a); desp(a); return 0; } void desp(int a) { int b[4]; int i; b[0] = a/1000; b[1] = a/100-b[0]*10; b[2] = a/10-b[0]*100-b[1]*10; b[3] = a%10; for( i=0;i<4;i++ ){ printf("%d",b[i]); if( i<3 ) printf(" "); else printf("\n"); } }
#include<stdio.h> #include <stdlib.h> #include <string.h> void fenli(char a[],char b[]) { int i; int j = 0; for (i = 0; i < strlen(a); i++) { b[j] = a[i]; j++; } for (i = 0; i < strlen(a)-1; i++) { printf("%c ", b[i]); } if (i == strlen(a) - 1) { printf("%c", b[i]); } } int main(void) { char a[100]; char b[100] = { 0 }; scanf_s("%s", a,100); fenli(a,b); system("pause"); return 0; } 想问问为什莫说答案基本正确,格式错误
#include<stdio.h> #include<string.h> int main() { char str[4]; int b,i; scanf("%d",&b); sprintf(str,"%d",b); for(i=0;i<4;i++) { printf("%c ",str[i]); } return 0; } 结果都是对的,为啥不过
天青色 2020-04-02 19:12:59 |
把char str[4]更改为char str[5],可能是字符串最后要存放一个‘/0’
#include<stdio.h> char putcha(char*cha,char*chb); char putcha(char*cha,char*chb) { int a=0,b=0,c,d=1,e,f; while(*cha!='\0') { *(chb+(2*a))=*cha; *(chb+(2*a)+1)=' '; a++; cha++; } return 0; } int main() { char cha[100]; char chb[100]={}; scanf("%s",cha); putcha(cha,chb); printf("%s",chb); return 0; }
int main(int argc, char *argv[]){ std::string a; std::cin>>a; std::string::iterator s = a.begin(); for(int i = 0; i<a.length(); i++){ std::cout<<s[i]<<" "; } }
#include<stdio.h> #include<string.h> int main(){ char a[100]; gets(a); char *p=a; while(*p!='\0'){ printf("%c ",*p); p++; } return 0; }
为什么错了错了错了错了错了错了错了错了错了错了错了错了错了错了错了错了错了错了错了错了错了错了错了错了错了错了错了错了错了 #include<stdio.h> #include<string.h> int main() { char a[100]; scanf("%s", &a); int n = strlen(a); for (int i = 0; i <= n; i++) { printf("%c", a[i]); if (a[i+1]!='\0') { printf(" "); } } }
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:687 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:638 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:651 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1483 |
关于float,double变量的几点说明浏览:1926 |
循环入门练习5 (C语言代码)浏览:907 |
钟神赛车 (C语言代码)浏览:665 |
格式化数据输出 (C语言代码)浏览:882 |
链表数据求和操作 (C语言代码)浏览:1035 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:820 |