int main()
{
int s;
scanf("%d",&s);
int num = 0;
int i =0;
while(s!=0)
{
num = num + s%10;
s=s/10;
i++;
}
printf("%d\n",i);
printf("%d\n",num);
}
第一个
直接以字符串形式接收数字串,字符串长度即为位数,单个字符转数字后求和就是第二个需要的结果
c还是c++
Fibonacci数列的前n项和
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int i;
int sum=0;
int a=1,b=1,c=1;
for(i=0;n>0;i++)
{
if(n>2)
{
c=a+b;
a=b;
b=c;
sum=sum+c;
n--;
}
else
{
sum=sum+1;
n--;
}
}
printf("sum=%d",sum);
return 0;
}
制作不易,望采取
第一题:
#include <iostream>
using namespace std;
int main(){
int n=0;
cin>>n;
int sum=0;
while(n>0) {
sum=sum+n%10;
n/=10;
}
cout<<sum;
return 0;
}
第二题:
#include<cstdio>
#include<iostream>
#include<stdlib.h>
using namespace std;
int Fibonacci(int n)
{
if(n == 0 || n == 1)
return 1;
else
return Fibonacci(n-1) + Fibonacci(n-2);
}
int main(){
int n;
cin >> n;
cout << Fibonacci(n);
system("pause");
return 0;
}
第三个:
int main()
{
int a[5] = {1,2,3,4,5};
int sum = 0;
for(int i = 0;i<5;i++)
{
for(int j = 0;j<5;j++)
{
if(j == i)
{
continue;
}
for(int x=0;x<5;x++)
{
if(x == j || x == i)
{
continue;
}
printf("%d ",a[i]*100+a[j]*10+a[x]);
sum++;
}
}
}
printf("sum=%d\n",sum);
}
最后一题:
#include<iostream>
using namespace std;
#include<string>
#include<cmath>
void is_prime(int num)
{
int dex = sqrt(num);
bool out = 1;
if (num == 2 || num == 3)cout << num << "是素数" << endl;
else if (num == 0 || num == 1)cout << num << "不是素数" << endl;
else {
for (int i = 2; i <= dex; i++)
{
if (num % i == 0)
{
out = 0;
break;
}
}
if (out)
{
cout << num << "是素数" << endl;
}
else
{
cout << num << "不是素数" << endl;
}
}
}
int main()
{
int num;
int n;
cout << "请输入要测试的个数:" << endl;
cin >> n;
for (int i = 0; i < n; i++)
{
cout << "请输入一个整数:" << endl;
cin >> num;
is_prime(num);
system("pause");//设置暂停方便观察
system("cls");//设置清屏
}
return 0;
}
1.
int main()
{
int s;
scanf("%d",&s);
int num = 0;
int i =0;
while(s!=0)
{
num = num + s%10;
s=s/10;
i++;
}
printf("%d\n",i);
printf("%d\n",num);
}
下面给出知识点,思路和代码,望采纳,谢谢。
第一题:
这道题主要考察多位数分解的知识,即边除边模。
首先一个while,然后将n%10(第一次分解的位数(个位))放到变量sum里(注意累加),并ans++(位数+1),最后不要忘了n/=10.
代码:
#include<bits/stdc++.h>
using namespace std;
void x(int n){
int sum=0,ans=0;
while(n){
sum+=n%10;
n/=10;
ans++;
}
cout<<ans<<endl<<sum;
}
int main()
{
int n;
cin>>n;
x(n);
return 0;
}
第二题:
这一题主要考察斐波那契数列,但这里不同的是要求前n项的和,只需在循环里加个sum就行了。
我这里数组用long long,因为斐波那契数列增长很快。
代码:
#include<bits/stdc++.h>
using namespace std;
long long f[40];
int main()
{
int n;
long long sum=2;
cin>>n;
f[1]=1;
f[2]=1;
for(int i=3;i<=n;i++){
f[i]=f[i-1]+f[i-2];
sum+=f[i];
}
cout<<sum;
return 0;
}
第三题:
这道题主要考察枚举,就是枚举二位数的个位和十位,注意要判断如果个位==十位,就要continue。
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int sum=0;
for(int i=1;i<=5;i++){
for(int j=1;j<=5;j++){
if(i==j)continue;
else{
cout<<i<<j<<' ';
sum++;
}
}
}
cout<<"sum="<<sum;
return 0;
}
第四题:
这道题就是sum循环累加iii就行了。
代码:
#include<bits/stdc++.h>
using namespace std;
long long sum=0;
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++){
sum+=i*i*i;
}
cout<<sum;
return 0;
}
第五题:
这道题主要是素数判断+累加计数。
代码:
#include<bits/stdc++.h>
using namespace std;
bool prime(int x){
if(x<2)return false;
for(int i=2;i*i<=x;i++)
if(x%i==0)return false;
return true;
}
int main()
{
int n,m,con=0,sum=0;
cin>>n>>m;
for(int i=n;i<=m;i++){
if(prime(i)==true){
con++;
sum+=i;
}
}
cout<<"counts="<<con<<' '<<"sum="<<sum;
return 0;
}
以上就是题解,望题主采纳哦,如果有问题可以问我😁
第四题
#include <iostream>
using namespace std;
int main()
{
int n,sum;
cin >> n;
for(int i = 1;i <= n;i++)
sum += i * i * i;
cout << sum << endl;
return 0;
}