数据结构第1章上机实验题

来源:互联网 发布:平板电脑无法加入网络 编辑:程序博客网 时间:2024/05/21 16:51

以下3题均采用多组输入:

1.1 输出所有小于等于n(n为一个大于2的正整数)的素数,每行输出10个,尽可能采用较优的算法

源代码:

#include <iostream>#include <cmath>using namespace std;int main(){    int n;    int i,j,k;    int num;    while(cin>>n)    {        num=0;        for(i=2;i<=n;i++)        {            k=sqrt(i);            for(j=2;j<=k;j++)            {                if(i%j==0)                {                    break;                }            }            if(j>=k+1)            {                cout<<i;                num++;                if(num%10==0)                {                    cout<<endl;                }                else                {                    cout<<" ";                }            }        }        cout<<endl;    }    return 0;}

程序截图:

1.2 计算任一输入的正整数的各位数字之和

源代码:(暂不考虑超出int精度范围的情况)

#include <iostream>using namespace std;int main(){    int n;    int sum;    while(cin>>n)    {        sum=0;        while(n>0)            //分离各位数        {            sum+=n%10;            n/=10;        }        cout<<sum<<endl;    }    return 0;}

程序截图:

1.3 判断一个字符串是否是“回文”

源代码:

#include <iostream>#include <cstring>#include <cstdio>using namespace std;int main(){    char str[100000];    int i,j;    int flag;    while(gets(str))    {        i=0,j=strlen(str)-1;        flag=0;        while(i<j)                    //字符遍历        {            if(str[i]!=str[j])            {                cout<<"no"<<endl;                flag++;                break;            }            i++,j--;        }        if(flag==0)        {            cout<<"yes"<<endl;        }    }    return 0;}

程序截图:

0 0
原创粉丝点击