1、提示并輸入一個字符串,統計該字符串中字母、數字、空格以及其他字符的個數
#include <stdio.h>
#include <string.h>
int main(int argc,const char *argv[])
{
??? ?char arr[30]={0};
?? ?int zm=0,kg=0,sz=0,qt=0;
?? ?printf("請輸入字符串:");
?? ?gets(arr);
?? ?for(int i=0;i<strlen(arr);i++)
?? ?{
?? ??? ?//printf("%c\n",arr[i]);
?? ??? ?if(arr[i]>='a'&&arr[i]<='z'||arr[i]>='A'&&arr[i]<='Z')
?? ??? ?{
?? ??? ??? ?zm++;
?? ??? ?}
?? ??? ?else if(arr[i]==' ')
?? ??? ?{
?? ??? ??? ?kg++;
?? ??? ?}
?? ??? ?else if(arr[i]>='0'&&arr[i]<='9')
?? ??? ?{
?? ??? ??? ?sz++;
?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ??? ?qt++;
?? ??? ?}
?? ?}?? ?
?? ?printf("該字符串中一共有%d個字母,%d個空格,%d個數字,%d個其他字符\n",zm,kg,sz,qt);
? ? ? ? return 0;
}
2、提示并輸入一個字符串,求出該字符串中所有數字的總和
#include <stdio.h>
#include <string.h>
int main(int argc,const char *argv[])
{
??? ?char arr[30]={0};
?? ?int sum=0;
?? ?printf("請輸入字符串:");
?? ?gets(arr);
?? ?for(int i=0;i<strlen(arr);i++)
?? ?{
?? ??? ?if(arr[i]>='0'&&arr[i]<='9')
?? ??? ?{
?? ??? ??? ?sum+=arr[i]-48;
?? ??? ?}
?? ?}?? ?
?? ?printf("該字符串中數字總和為%d\n",sum);
? ? ? ? return 0;
}
3、定義一個4*3的二維整形數組,完成對二維數組的輸入、輸出。并將該二維數組中每一行的最值放入到一個一維數組中,并對該一維數組進行升序排序后輸出。
#include <stdio.h>
#include <string.h>
int main(int argc,const char *argv[])
{
??? ?int arr[4][3]={0};
?? ?int brr[4]={0};
?? ?int max=0,min=0,mini=0;
?? ?for(int i=0;i<4;i++)
?? ?{
?? ??? ?for(int j=0;j<3;j++)
?? ??? ?{
?? ??? ??? ?printf("請輸入第%d行%d列的數:",i+1,j+1);
?? ??? ??? ?scanf("%d",&arr[i][j]);
?? ??? ?}
?? ?}
?? ?printf("二維數組的值為:\n");
?? ?for(int i=0;i<4;i++)
?? ?{
?? ??? ?for(int j=0;j<3;j++)
?? ??? ?{
?? ??? ??? ?printf("%d\t",arr[i][j]);
?? ??? ?}
?? ??? ?putchar(10);
?? ?}
?? ?for(int i=0;i<4;i++)
?? ?{
?? ??? ?max=arr[i][0];
?? ??? ?for(int j=1;j<3;j++)
?? ??? ?{
?? ??? ??? ?if(arr[i][j]>max)
?? ??? ??? ?{
?? ??? ??? ??? ?max=arr[i][j];
?? ??? ??? ?}
?? ??? ?}
?? ??? ?brr[i]=max;
?? ?}
?? ?for(int i=1;i<4;i++)
?? ?{
?? ??? ?min=brr[i];
?? ??? ?for(int j=i+1;j<4;j++)
?? ??? ?{
?? ??? ??? ?if(brr[j]<min)
?? ??? ??? ?{
?? ??? ??? ??? ?min=brr[j];
?? ??? ??? ??? ?mini=j;
?? ??? ??? ?}
?? ??? ?}
?? ??? ?if(min!=brr[i])
?? ??? ?{
?? ??? ??? ?int temp=brr[mini];
?? ??? ??? ?brr[mini]=brr[i];
?? ??? ??? ?brr[i]=temp;
?? ??? ?}
?? ?}
?? ?printf("進行升序排序后輸出后結果為:\n");
?? ?for(int i=0;i<4;i++)
?? ?{
?? ??? ?printf("%d\t",brr[i]);
?? ?}
?? ?putchar(10);
? ? ? ? return 0;
}
?
4、提示并輸入兩個一維整形數組,求這兩個數組的交集。
#include <stdio.h>
#include <string.h>
#define N 5
int main(int argc,const char *argv[])
{
??? ?int arr[N]={0},brr[N]={0},crr[N]={0},k=0;
?? ?printf("請輸入的第一個整型數組:\n");
?? ?for(int i=0;i<N;i++)
?? ?{
?? ??? ?printf("第%d個值為:",i+1);
?? ??? ?scanf("%d",&arr[i]);
?? ?}
?? ?printf("請輸入的第二個整型數組:\n");
?? ?for(int i=0;i<N;i++)
?? ?{
?? ??? ?printf("第%d個值為:",i+1);
?? ??? ?scanf("%d",&brr[i]);
?? ?}
?? ?for(int i=0;i<N;i++)
?? ?{
?? ??? ?for(int j=0;j<N;j++)
?? ??? ?{
?? ??? ??? ?if(arr[i]==brr[j])
?? ??? ??? ?{
?? ??? ??? ??? ?crr[k]=arr[i];
?? ??? ??? ??? ?k++;
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?printf("他們的交集為:\n");
?? ?for(int i=0;i<k;i++)
?? ?{
?? ??? ?printf("%d\t",crr[i]);
?? ?}
?? ?putchar(10);
? ? ? ? return 0;
}
?
5、完成注冊和登錄功能:使用兩個一維字符數組存儲賬戶和密碼
注冊:完成對賬號和密碼的輸入
登錄:將登錄賬號和密碼跟注冊的賬號和密碼進行匹配,如果相等,則登錄成功,否則,登錄失敗
#include <stdio.h>
#include <string.h>
#define N 5
int main(int argc,const char *argv[])
{
?? ?char arr[30]={0},brr[30]={0},crr[30]={0},drr[30]={0};
?? ?int n=0;
?? ?while(1)
?? ?{
??? ??? ?printf("請問是要注冊還是登陸(注冊扣1,登陸扣2,退出扣3):");
?? ??? ?scanf("%d",&n);
?? ??? ?getchar();
?? ??? ?if(n==1)
?? ??? ?{
?? ??? ??? ?printf("請輸入賬號:");
?? ??? ??? ?gets(arr);
?? ??? ??? ?printf("請輸入密碼:");
?? ??? ??? ?gets(brr);?? ?
?? ??? ?}
?? ??? ?else if(n==2)
?? ??? ?{
?? ??? ??? ?printf("請輸入賬號:");
?? ??? ??? ?gets(crr);
?? ??? ??? ?printf("請輸入密碼:");
?? ??? ??? ?gets(drr);?? ?
?? ??? ??? ?if(strcmp(arr,crr)==0&&strcmp(brr,drr)==0)
?? ??? ??? ?{
?? ??? ??? ??? ?printf("登陸成功\n");
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ??? ?else
?? ??? ??? ?{
?? ??? ??? ??? ?printf("登陸失敗\n");
?? ??? ??? ?}
?? ??? ?}
?? ??? ?else if(n==3)
?? ??? ?{
?? ??? ??? ?break;
?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ??? ?printf("輸入錯誤,請重新輸入\n");
?? ??? ?}
?? ?}
? ? ? ? return 0;
}
?