c++编程 输入一个四位正整数,然后分别显示其千位数、百位数、十位数和个位数及其他每位数字对应的ASCII码 c++编程中输入4个数字,要求千位和十位互换百位和个位互换并...

C++\u4efb\u610f\u8f93\u5165\u4e00\u4e2a\u56db\u4f4d\u6570\u5206\u522b\u8f93\u51fa\u5176\u5343\u4f4d\u767e\u4f4d\u5341\u4f4d\u4e2a\u4f4d\u4e0a\u7684\u503c\u5e76\u8f93\u51fa\u5b83\u7684\u5e73\u65b9\u6839

\u5b9a\u4e49\u4e00\u4e2a\u6574\u578b\u53d8\u91cfa\u6765\u5b58\u50a8\u8fd9\u4e2a4\u4f4d\u6570\uff0c\u6240\u4ee5\u5343\u4f4d\u53ef\u4ee5\u8868\u793a\u6210\uff1aa/1000\uff0c\u767e\u4f4d\uff1aa/100%10\uff0c\u5341\u4f4d\uff1aa/10%10\uff0c\u4e2a\u4f4d\uff1aa%10\uff0c\u5e73\u65b9\u6839\u7528sqrt\uff08a\uff09\u3002
\u4f8b\u5982\uff1a
//\u53c2\u8003\u4ee3\u7801 #include #include using namespace std;int main(){int n,q,b,s,g;//\u5b9a\u4e49\u53d8\u91cf double m;//\u5e73\u65b9\u6839\u53d8\u91cf cin>>n;//\u952e\u76d8\u8f93\u5165\u8d4b\u503c q=n/1000;//\u8ba1\u7b97\u5343\u4f4d b=n/100%10;//\u8ba1\u7b97\u767e\u4f4d s=n/10%10;//\u8ba1\u7b97\u5341\u4f4d g=n%10;//\u8ba1\u7b97\u4e2a\u4f4d m=sqrt(n);//\u8ba1\u7b97\u5e73\u5747\u503c cout<<"\u5343\u4f4d\uff1a"<<q<<",\u767e\u4f4d\uff1a"<<b<<",\u5341\u4f4d\uff1a"<<s<<",\u4e2a\u4f4d\uff1a"<<g<<",\u5e73\u65b9\u6839\uff1a"<<m<<endl; return 0;}/*\u8fd0\u884c\u7ed3\u679c\uff1a 1234\u5343\u4f4d\uff1a1,\u767e\u4f4d\uff1a2,\u5341\u4f4d\uff1a3,\u4e2a\u4f4d\uff1a4,\u5e73\u65b9\u6839\uff1a35.1283*/

#include
using namespace std;

void main()
{
int n;
int i = 0;
int a[4];
int m;
printf("\u8bf7\u8f93\u5165\u4e00\u4e2a\u56db\u4f4d\u6570\n");
scanf("%d",&n);
if(n >= 10000 || n < 1000)
{
printf("\u8f93\u5165\u9519\u8bef\n");
exit(0);
}
while(n > 0)
{
a[i] = n % 10;
n /= 10;
i++;
}
m = a[2] * 1 + a[0] * 100 + a[1] * 1000 + a[3] * 10;
printf("\u4ea4\u6362\u540e\u7684\u6570%d\n",m);
}

\u8bf7\u8f93\u5165\u4e00\u4e2a\u56db\u4f4d\u6570
1234
\u4ea4\u6362\u540e\u7684\u65703412
Press any key to continue

简单方法:
char a[10] = {0};
scanf("%s", a);//以字符串形式输入
assert(strlen(a)==4);//这句可以不要
printf("%c %c %c %c\n",a[0],a[1],a[2],a[3]);//以字符形式输出
printf("%d %d %d %d\n",a[0],a[1],a[2],a[3]);//以ASCLL码形式输出

#include "math.h"
#include <iostream>
using namespace std;
#define M 4
void main()
{
int num,p[M],i;
cout<<"输入num(num为"<<M<<"位数的正整数):";
cin>>num;
while(num<(int)pow(10,M-1)||num>=(int)pow(10,M))
{
cout<<"输入错误!num为"<<M<<"位数的正整数。请重新输入:";
cin>>num;
}
for(i=0;i<M;i++)
{
p[i]=num/(int)pow(10,M-1-i);
num=num%(int)pow(10,M-1-i);
cout<<" "<<p[i];
}
cout<<endl;
for(i=0;i<M;i++)cout<<" "<<p[i]+48;
cout<<endl;
}

#include <stdio.h>

//统计数有几位
int CountBit(int num)
{
int n = 1;
while( (num /= 10) != 0 )//如果自身除以10后 =0 说明位数计算完毕,否则再进行下次计算
{
n++;//每次位数+1,来统计位数
}
return n;
}

//按位输出 数 并显示 ASCll码
void show(int a,int n)
{
int temp=1;
n -= 1;
while(n>0)
{
temp *= 10;
n--;
}
while( a!=0 )
{
//输出int值 ,ASCLL码,把int数强制转化为char,则是按ASCLL码来的,把字符按int输出则是ASCll码了
printf( "数值:%3d ASCLL码:%3d",a/temp,(char)(a/temp) );
a %= temp; //取出 剩下的位数
temp /= 10 ; //让下次可以正确取位
}
}

int main()
{
int a = 7592;
int n;//统计位数
n=CountBit(a);//计算a的位数
show(a,n);//显示结果
}

不管你是几位数(不超int最大位数),都可以灵活转化输出。
复制到本地即可调试,编码问题有好多都看不清楚。

将数字转化为字符,在%d输出。
func(int num)
{
int qw,bw,sw,gw;
qw = num/1000;
bw = num/100 - 10*qw;
sw = num.10 - 10*bw - 100*qw;
gw = num%10;
printf("%d %d %d %d\n",qw,bw,sw,gw);
qw1 = char(qw);
bw1 = char(bw);
sw1 = char(sw);
gw1 = char(gw);
printf("%d %d %d %d\n",qw,bw,sw,gw);
}

扩展阅读:少儿编程到底有多可怕 ... c++入门程序代码 ... c++编程适合几岁学 ... c++编程入门自学 ... c十十编程要学多久 ... c++和python先学哪个 ... c++编程考级一共几级 ... c十十编程 ... 学c++有前景吗 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网