编程问题,解答有偿。

1编写程序,输入一个正整数,倒序输出。如
输入:123,输出:321
2.编写程序,输入一个正整数的N,输出从
2到N的所有素数和(素数是除了1和本身,不能被其他数整除的正整数)。如输入6,输出:10

该回答引用ChatGPT

_有疑问可以回复我

1、C++程序:输入一个正整数,倒序输出。


#include <iostream>
using namespace std;

int main() {
    int num, reverse = 0;

    cout << "请输入一个正整数:";
    cin >> num;

    while(num > 0) {
        int digit = num % 10;
        reverse = reverse * 10 + digit;
        num /= 10;
    }

    cout << "倒序输出为:" << reverse << endl;

    return 0;
}

2、C++程序:输入一个正整数的N,输出从2到N的所有素数和。


#include <iostream>
using namespace std;

bool isPrime(int num) {
    if(num == 1) {
        return false;
    }
    for(int i = 2; i <= num/2; i++) {
        if(num % i == 0) {
            return false;
        }
    }
    return true;
}

int main() {
    int n;
    int sum = 0;

    cout << "请输入一个正整数:";
    cin >> n;

    for(int i = 2; i <= n; i++) {
        if(isPrime(i)) {
            sum += i;
        }
    }

    cout << "2到" << n << "的素数和为:" << sum << endl;

    return 0;
}

以上代码中,isPrime 函数用来判断一个数是否是素数,如果是素数返回 true,否则返回 false。在 main 函数中,使用循环依次判断从2到N的所有数是否是素数,如果是素数,累加到总和 sum 中。最后输出结果。

这个不参考GPT,代码入下:
一、输入一个正整数,倒序输出:

#include <iostream>
using namespace std;

int main() {
    int num, reversed_num = 0;

    cout << "请输入一个正整数:";
    cin >> num;

    while (num != 0) {
        reversed_num = reversed_num * 10 + num % 10;
        num /= 10;
    }

    cout << "倒序输出为:" << reversed_num << endl;

    return 0;
}

程序思路:

提示用户输入一个正整数;

通过cin语句将用户输入的数字保存到变量num中;

使用while循环将数字倒序排列,并将结果保存到变量reversed_num中;

输出倒序数字reversed_num。

输入一个正整数的N,输出从2到N的所有素数和
二 输入一个正整数的N,输出从2到N的所有素数和:

#include <iostream>
using namespace std;

bool isPrime(int num) {
    if (num < 2) {
        return false;
    }

    for (int i = 2; i <= num / 2; i++) {
        if (num % i == 0) {
            return false;
        }
    }

    return true;
}

int main() {
    int N, sum = 0;

    cout << "请输入一个正整数N:";
    cin >> N;

    for (int i = 2; i <= N; i++) {
        if (isPrime(i)) {
            sum += i;
        }
    }

    cout << "从2到" << N << "的所有素数和为:" << sum << endl;

    return 0;
}

程序思路:

定义一个isPrime函数来判断一个数是否为素数,如果是则返回true,否则返回false;
提示用户输入一个正整数N;
使用for循环从2遍历到N,判断每个数是否为素数,如果是,则将它加入到变量sum中;
输出结果sum。
以上代码是使用 C++语言实现的。

1:
思路:使用while循环存储数据,实现逆序输出

#include <iostream>
using namespace std;
int main() {
    int num, r = 0;
    cin >> num;
    while(num > 0) {  //逆序
        int digit = num % 10;
        r = r * 10 + digit;
        num /= 10;
    }
    cout << reverse << endl;
    return 0;
}

2:
思路:先定义一个子函数筛选素数,再进行累加

#include <iostream>
using namespace std;
bool isPrime(int n) {  //定义子函数
    if(n == 1) {
        return false;
    }
    for(int i = 2; i <= n/2; i++) {
        if(n % i == 0) {
            return false;
        }
    }
    return true;
}
int main() {
    int n , sum = 0;
    cin >> n;
    for(int i = 2; i <= n; i++) {  //累加
        if(isPrime(i)) {
            sum += i;
        }
    }
    cout << sum << endl;
    return 0;
}

回答引用自chatGPT

//1.倒序输出
#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    while (n > 0)
    {
        cout << n %!;(MISSING)
        n /= 10;
    }
    cout << endl;
    return 0;
}
//2.输出素数和
#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int sum = 0;
    for (int i = 2; i <= n; i++)
    {
        bool isPrime = true;
        for (int j = 2; j < i; j++)
        {
            if (i %!j(MISSING) == 0)
            {
                isPrime = false;
                break;
            }
        }
        if (isPrime)
        {
            sum += i;
        }
    }
    cout << sum << endl;
    return 0;
}

程序1


#include <stdio.h>
int main()
{
    int z, a;
    scanf("%d",&z);
    while (z > 0)
    {
        a=z % 10;
        z = z / 10;
        printf("%d",a);
    }
    return 0;
}

程序2

#include <stdio.h>
int main()
{
    int z, j, sum=0;
    scanf("%d",&z);
    for (int i = 2; i <= z; i++)
    {
        for (j = 2; j < i; j++)
        {
            if (i % j == 0)
            {
                break;
            }
        }
        if (i == j)
        {
            sum += i;
        }
    }
    printf("%d",sum);
    return 0;
}

答案1:

#include "StdAfx.h"
#include <iostream>
using namespace std;

int main() {
int n, rev = 0;
cout << "请输入一个正整数:";
cin >> n;
while (n > 0) {
rev = rev * 10 + n % 10;
n /= 10;
}
cout << "倒序输出:" << rev << endl;
return 0;
}

运行结果:

img

  • 答案2
#include "StdAfx.h"
#include <iostream>
using namespace std;

bool isPrime(int n) {
if (n <= 1) return false;
for (int i = 2; i <= n/2; i++) {
if (n % i == 0) return false;
}
return true;
}

int main() {
int n, sum = 0;
cout << "请输入一个正整数:";
cin >> n;
for (int i = 2; i <= n; i++) {
if (isPrime(i)) sum += i;
}
cout << "2到" << n << "的所有素数和为:" << sum << endl;
return 0;
}

运行结果:

img

1.


```c++
#include <iostream> 
using namespace std;

int main(){
    int num,re;
    cout<<"输入一个正整数:";
    cin>>num;
    while(num>0){
        int yv=num%10; //求余数,这是求输入数的个位数
        num =num/10;//这是为了留下百位,十位数
        cout<< yv;//倒叙输出 
    }
    return 0;//对应主函数int main的int 
} 
2.


```c++
#include <iostream> 
using namespace std;

bool yesorno(int N){
    if(N==1){
        return false;
    }
    
        for (int i=2;i<=N/2;i++){
        if(N%i==0){
            return false;
        }
    } 
} 
int main(){
    int N,num;
    int sum=0;
    cout<<"输入一个数N:";
    cin>>N;
    for (int i=2;i<=N;i++){
        if(yesorno(i)){
            sum+=i;
        }
    }
    cout<<"sum="<<sum<<endl;
    return 0;
}