标题:有偿求帮忙解决问题 有答案 只要写每一行的注释就好
只看楼主
zhangfan001
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-5-23
结帖率:100%
已结贴  问题点数:20 回复次数:2 
有偿求帮忙解决问题 有答案 只要写每一行的注释就好
1、读入一个正整数 int  n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
要求:例如输入123456789,输出si wu。

#include<stdio.h>
#include <string.h>
int main()
{
  char ch[100]; //read input number as char type
  int a[5]; //pinyin
  int n=0; // sum
  char pinyin[][9]={"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};
  int i; //count length of input number
  int t=0; //count length of sum
  gets(ch);
  for(i=0;i<strlen(ch);i++)
    {
    n=n+ch[i]-48; //number as char start from 48 in ASCII
    }
  while(n!=0)
    {
    a[t]=n%10;
    n=n/10;
    t++;
    }
  printf("%s", pinyin[a[t-1]]); //first pinyin
  for(i=t-2;i>=0;i--)
  {
    printf(" %s", pinyin[a[i]]);
  }
  return 0;
}

2、 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
要求:例如输入Hello World Here I Come  输出:Come I Here World Hello

#include<stdio.h>
#include<string.h>
int main(void)
{
 char a[100][100],c;
 int length=80,i=0;
 while((c=getchar())!='\n')
 {
  if(c==' ')
   {
    a[length][i]='\0'; //这一步很重要,防止 字符数组 输出过界
    length--;
    i=0;  
    continue;
   }
  else
   {
    a[length][i]=c;
    i++;
   }
 }
 a[length][i]='\0';
 for(i=length;i<81;i++)
 {
  if(i==80)
   {
    printf("%s",a[80]);
    break;
   }
  else printf("%s ",a[i]);
 }
 return 0;
}

3、编写程序,给定一个整数i,请求出另一个整数j,使i和j在用8位二进制表示时互为逆序。例如:给定i=3时,应得到j=192(3的二进制为:00000011,192的二进制为11000000)。
提示:
(1)十进制整数转换为二进制整数用“除2求余”法。
(2)二进制整数转换为十进制整数用“按权相加”法。

#include<stdio.h>
#include<math.h>
int main()
{
 int i,s[8],m;
 int j=0;
 printf("请输入一个整数i:");
 scanf("%d",&m);
 for(i=0;i<8;i++) //用for循环求m的2进制表示并存放到s[i]中
   {
    s[i]=m%2;
    m=m/2;
   }
 for(i=0;i<8;i++)
   if(s[i]==1)
    j+=pow(2,7-i); //pow(x,y)表示x的y次方 j=j+pow(2,7-i),
 printf("j=%d",j);//7-i是把s[i]逆向排序,如11010000变为00001011
 return 0;
}

4、编写程序,抓交通肇事犯。
一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:四位的车号刚好是一个整数的平方。根据以上线索求出车号。
提示:
①    按照题目的要求,造出一个前两位数相同、后两位数相同且相互间又不同的整数,然后判断该整数是否是另一个整数的平方。
②    用穷举法解此题。穷举法是最简单、最常见的一种程序设计方法,它充分利用了计算机处理的高速特征。穷举法的关键是要确定穷举的范围,既不能过分扩大穷举的范围,也不能过分缩小穷举的范围,否则程序的运行效率会很低,或有可能遗漏正确的结果而产生错误。

#include <stdio.h>
#include <math.h>

 int main()
 {   
    int i,j,k,c;
   
    for (i=1;i<=9;i++)
        for (j=0;j<=9;j++)
            if (i!=j)
            {
                k=1100*i+11*j;
                for (c=31;c<100;c++)
                    if (c*c==k)
                        printf ("车牌号是 %d.\n", k);
            }
   
    return 0;
 }

5、请编写程序,找出一段给定文字中出现最频繁的那个英文字母。
要求:在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。
例如输入:This is a simple TEST.  There ARE numbers and other symbols 1&2&3
输出:e  7

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string s;
    char c;       //用来存放出现次数最多的字符
    int num[26]={0},max=0;  //用来统计26个英文字母出现的次数  max为出现次数最多
    getline(cin,s);     //用getline输入可以将空格等也输入进去
    for(int i=0;i<s.length();i++){      //统计
        if(s[i]>='a'&&s[i]<='z')
            num[s[i]-'a']++;
        if(s[i]>='A'&&s[i]<='Z')
            num[s[i]-'A']++;
    }
    for(int i=0;i<26;i++){           //遍历查找最大
        if(num[i]>max){
            max = num[i];
            c = i+'a';
        }
    }
    cout<<c<<" "<<max;
    return 0;
}
搜索更多相关主题的帖子: 整数 int 输出 include for 
2019-05-23 18:12
zhangfan001
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-5-23
得分:0 
留下wx 17521022907
2019-05-23 18:58
no1xijin
Rank: 9Rank: 9Rank: 9
来 自:江西
等 级:贵宾
威 望:20
帖 子:211
专家分:1207
注 册:2015-7-8
得分:14 
留下邮箱 no1xijin@

126邮箱联系方式:no1xijin@126. com
2019-05-24 17:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-494900-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.147438 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved