c++第七章程序设计

img

img


731题与737题c++怎么做 学的是一维数组和c字符串难 最好易懂的

比较指针或者用数据结构链表算法


1
#include<stdio.h>
void main(){
int a[10];
int b[10];
int a1,a2;
printf("请输入第1个数组的10个整数\n");
for(int i=0;i<10;i++){
scanf("%d",&a1);
a[i]=a1;
}
printf("请输入第2个数组的10个整数\n");
for(int i=0;i<10;i++){
scanf("%d",&a2);
b[i]=a2;
}
for(int i=0;i<10;i++){
   for(int j=0;j<10;j++){
       if(a[i]==b[j])
          printf("%d ",a[i]);
     }
   }
}
2
#include <iostream>
using namespace std;
const int num1 = 26;   //num1=letters
const int num2 = 99;  //num2=string
void countLetters(const char list[],int counts[])
{
    for(int i=0;i<num1;i++)
        counts[i]=0;
    for(int j=0;j<num2;j++)
    {
        counts[list[j]-'a']++;
        counts[list[j]-'A']++;
    }
}
void displayCounts(const int counts[])
{
    for (int i=0;i<num1;i++){
        if(counts[i]!=0)
            cout<<static_cast<char>(i+'a')<<" : "<<counts[i]<<"  times "<<endl;
    }
}
int main()
{
    char list[num2];
    int counts[num1];
    cout<<"Enter a string : ";
    cin.getline(list,num2);
    countLetters(list,counts);
    displayCounts(counts);
    return 0;
}

代码如下,有帮助的话采纳一下哦!
7.31

#include<stdio.h>
void main(){
int a[10];
int b[10];
int a1,a2;
printf("请输入第1个数组的10个整数\n");
for(int i=0;i<10;i++){
scanf("%d",&a1);
a[i]=a1;
}
printf("请输入第2个数组的10个整数\n");
for(int i=0;i<10;i++){
scanf("%d",&a2);
b[i]=a2;
}
for(int i=0;i<10;i++){
   for(int j=0;j<10;j++){
       if(a[i]==b[j])
          printf("%d ",a[i]);
     }
   }
}

7.37

#include <iostream>
using namespace std;
 
const int num1 = 26;   //num1=letters
const int num2 = 99;  //num2=string
 
void countLetters(const char list[],int counts[])
{
    for(int i=0;i<num1;i++)
        counts[i]=0;
    for(int j=0;j<num2;j++)
    {
        counts[list[j]-'a']++;
        counts[list[j]-'A']++;
    }
}
void displayCounts(const int counts[])
{
    for (int i=0;i<num1;i++){
        if(counts[i]!=0)
            cout<<static_cast<char>(i+'a')<<" : "<<counts[i]<<"  times "<<endl;
    }
}
 
int main()
{
    char list[num2];
    int counts[num1];
    cout<<"Enter a string : ";
    cin.getline(list,num2);
    countLetters(list,counts);
    displayCounts(counts);
 
    return 0;
}

第一题:

#include<iostream>
#include<string>
using namespace std;
void function1(){
    string s1;
    string s2;
    cout<<"Enter list1:";
    getline(cin, s1);
    cout<<"Enter list2:";
    getline(cin, s2);
    string temp = "";
    string arr1[10];
    string arr2[10];
    int index = 0;
    for(int i=0;i<s1.size();i++){
        if(s1[i]==' '){
            arr1[index] = temp;
            temp = "";
            index++;
        }else{
            temp+=s1[i];
        }
    }
    arr1[index] = temp;
    temp = "";
    index = 0;
    for(int i=0;i<s2.size();i++){
        if(s2[i]==' '){
            arr2[index] = temp;
            temp = "";
            index++;
        }else{
            temp+=s2[i];
        }
    }
    arr2[index] = temp;
    cout<<"The common elements are ";
    for(int i=0;i<10;i++){
        for(int j=0;j<10;j++){
            if(arr1[i]==arr2[j]){
                cout<<arr1[i]<<" ";
            }
        }
    }
}
int main(int argc, char const *argv[])
{
    function1();
    return 0;
}

第二题:

#include<iostream>
using namespace std;
void count(const char s[], int counts[]){
    int index=0;
    while(s[index]!='\0'){
        if(s[index]==' '){
            index++;
            continue;
        }
        else if(int(s[index])>=65 && int(s[index])<=90){
            counts[int(s[index])-65]++;
        }else if(int(s[index])>=97 && int(s[index])<=122){
            counts[int(s[index])-97]++;
        }
        index++;
    }
    for(int i=0;i<26;i++){
        if(counts[i]!=0){
            cout<<char(i+97)<<": "<<counts[i]<<" times"<<endl;
        }
    }
}
int main(int argc, char const *argv[])
{
    int count_arr[26]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
    char arr[100] = "Welcome to New York!";
    count(arr, count_arr);
    return 0;
}

第一题:

#include<iostream>
using namespace std;
int main()
{
    int i,n,a,b;
    int num1[11],num2[11];                        
    for(i=1;i<=10;i++)
    {
        cin>>a;
        num1[i]=a;
    }                                             //为num1数组添加元素
    for(n=1;n<=10;n++)
    {
        cin>>b;
        num2[n]=b;
    }                                             //为num2数组添加元素
    for(i=1;i<=10;i++)
    {
        for(n=1;n<=10;n++)
        {
            if(num1[i]==num2[n])
            {
                cout<<num1[i]<<endl;
                break;
            }
        }
    }
    return 0; 
}                                    

第二题:

#include <iostream>
using namespace std;
 
const int num1 = 26;   //num1=letters
const int num2 = 99;  //num2=string
 
void countLetters(const char list[],int counts[])
{
    for(int i=0;i<num1;i++)
        counts[i]=0;
    for(int j=0;j<num2;j++)
    {
        counts[list[j]-'a']++;
        counts[list[j]-'A']++;
    }
}
void displayCounts(const int counts[])
{
    for (int i=0;i<num1;i++){
        if(counts[i]!=0)
            cout<<static_cast<char>(i+'a')<<" : "<<counts[i]<<"  times "<<endl;
    }
}
 
int main()
{
    char list[num2];
    int counts[num1];
    cout<<"Enter a string : ";
    cin.getline(list,num2);
    countLetters(list,counts);
    displayCounts(counts);
 
    return 0;
}

如有帮助,还请采纳!谢谢!

#include<stdio.h>
int main(){
int list1[10];
int list2[10];
int list3[10];//用来保存相同数字的数组
int a=-1;//表示list3长度
//获取list1
printf("Enter list1: ");
for(int i=0;i<10;i++)
scanf("%d",&list1[i]);
//获取list2
printf("Enter list2: ");
for(int i=0;i<10;i++){
scanf("%d",&list2[i]);
//每次都用list2[i]去和list1的每一项比较。
for(int j=0;j<10;j++){
//如果相等,就把相等数放在list3中。
  if(list1[j]==list2[i]){
a++;//a是下标
  list3[a]=list2[i];
}
}
}
//这时list3中有a个数,把他们遍历输出。
printf("The common elements are");
for(;a>=0;a--)
printf(" %d",list3[a]);
}

参考一下