1050 : 正整数的位数(while实现)
题目描述
输入一个正整数,输出其位数(用while语句实现)。
输入
一个正整数。
输出
正整数的位数。
样例输入
123
样例输出
3
C
#include<stdio.h>
int main()
{
int n,l=0;
scanf("%d",&n);
while(n)
{
l++;
n/=10;
}
printf("%d",l);
return 0;
}
C++
#include<iostream>
using namespace std;
int main()
{
int n,l=0;
cin >> n;
while(n)
{
l++;
n/=10;
}
cout << l << endl;
return 0;
}
1051 : 反转数
题目描述
给定一个整数,请将该数各个数位上的数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。
输入
一个十进制整数。
输出
对应的反转数。
样例输入
-690
样例输出
-96
提示
保证数据≤100000
C
#include<stdio.h>
int main()
{
int n,sum=0;
scanf("%d",&n);
while(n)
{
sum=sum*10+n%10;
n/=10;
}
printf("%d",sum);
return 0;
}
C++
#include<iostream>
using namespace std;
int main()
{
int n,sum=0;
cin >> n;
while(n)
{
sum=sum*10+n%10;
n/=10;
}
cout << sum << endl;
return 0;
}
1052 : 礼物数目
题目描述
小明买了许多圣诞礼物准备用于班级活动,回家后感觉太累了,便让机器人小灵帮忙数一下礼物一共有多少份。但是小灵不喜欢数字4,因此每次数到4时便跨过该数。例,若小灵数到339时,下一份礼物小灵就会数350。
输入
一个整数n,表示小灵给出的礼物的份数,1 < n < 1000,且一定不含整数4。
输出
一个整数为礼物的实际份数。
样例输入
55
样例输出
40
C
#include<stdio.h>
int main()
{
int n,s=0;
scanf("%d",&n);
while(n--)
{
if(n%10==4) continue;
if((n/10)%10==4) continue;
if(n/100==4) continue;
s++;
}
printf("%d",s);
return 0;
}
C++
#include<iostream>
using namespace std;
int main()
{
int n,s=0;
cin >> n;
while(n--)
{
if(n%10==4) continue;
if((n/10)%10==4) continue;
if(n/100==4) continue;
s++;
}
cout << s << endl;
return 0;
}
1053 : 分解质因数
题目描述
分解质因数。
输入
一个正整数n。
输出
n的质因数的乘积形式。
样例输入
36
样例输出
2*2*3*3
C
#include<stdio.h>
int main()
{
int n,num=2,f=0;
scanf("%d",&n);
while(n)
{
if(n%num==0)
{
if(f==0)
{
f=1;
printf("%d",num);
}
else printf("*%d",num);
n=n/num;
}
else num++;
}
return 0;
}
C++
#include<iostream>
using namespace std;
int main()
{
int n,num=2,f=0;
cin >> n;
while(n!=1)
{
if(n%num==0)
{
if(f==0)
{
f=1;
cout << num;
}
else cout << "*" << num;
n=n/num;
}
else num++;
}
return 0;
}