重點:c語言中對字串的熟練掌握
1、 字串遍歷:
(1) 計算出字串的長度;
(2) 判斷字串結束標誌』\0』;
2、 陣列一定有確定的空間:
3、 陣列的輸入方法:
(1) scanf(「%s」,adress);
(2) gets(adress);
4、 陣列的輸出方法:
(1) printf(「%s」,adress);
(2) puts(address);
5、5道簡單程式設計題:(最優方案)
(1)任意輸入乙個字串,統計數字字元的個數;
(2)從鍵盤上輸入任意數字字串,將該字串表示的資料化為整形;
(3)隨機從鍵盤上輸入乙個整數並把它轉化為字串;
(4)隨機輸入乙個字串,輸出連續數字子串的和;
(5)隨機輸入乙個字串,找出最長連續的數字子串的長度;
(1)任意輸入乙個字串,統計數字字元的個數;
#include
#include
int main(void)
inti;
intcount = 0;
charstr1[50];
printf("pleaseinput this strings:");
gets(str1);
for(i= 0; str1[i] != '\0'; i++)
if(str1[i]> 47 && str1[i] < 58)
count++;
printf("count= %d\n",count);
return0;
(2)從鍵盤上輸入任意數字字串,將該字串表示的資料化為整形;
方法一:
#include
#include
#define max_num1024
int main()
int i;
int k = 1;
char src[max_num];
printf("please input numberstring:");
gets(src);
for(i = 0; src[i] != '\0'; i++)
k = k * 10 + (src[i] - '0');
printf("k = %d\n",k);
return 0;
方法二:
#include
#include
#define max_num50
int main()
int i;
int num = 0;
int n = 1;
int sum = 0;
char str1[max_num];
printf("please inputstring:\n");
scanf("%s",str1);
for(i = strlen(str1) - 1; i >= 0;i--)
num= str1[i] - '0';
sum= sum + num * n;
n= n * 10;
printf("sum = %d\n",sum);
return 0;
(3) 隨機從鍵盤上輸入乙個整數並把它轉化為字串;
方法一:
#include
#include
#definemax_num 1024
intmain()
int num;
int len;
int temp;
int i = 0;
char src[max_num];
printf("please input the numbernum:\n");
scanf("%d",&num);
while(num != 0)
src[i] = num % 10 + '0';
num = num / 10;
i++;
src[i] = '\0';
len = strlen(src);
for(i = 0; i < len / 2; i++)
temp = src[i];
src[i] = src[len - i - 1];
src[len - i -1] = temp;
printf("src = %s\n",src);
return 0;
方法二:
#include
#include
#definemax_num 1024
intmain()
int j;
int i = 0;
int num;
int n;
int count = 0;
char src[max_num];
printf("please input the num:\n");
scanf("%d",&num);
n = num;
while(n != 0)
n = n / 10;
count++;
n = num;
while(n != 0)
j= n % 10;
src[count - i - 1] = j + '0';
n = n / 10;
i++;
src[count] = '\0';
puts(src);
return 0;
(4) 隨機輸入乙個字串,輸出連續數字子串的和;
#include
#include
intmain(void)
int i;
int k = 0;
int count = 0;
char str1[50];
printf("please input thisstrings:");
gets(str1);
for(i = 0; str1[i] != '\0'; i++)
while(str1[i] < '9' &&str1 > '0')
i++;
k = k * 10 + str1[i] -'0'
count = count + k;
printf("count = %d\n",count);
return 0;
(5)隨機輸入乙個字串,找出最長連續的數字子串的長度;
#include
#include
#define max 1024
int main()
inti;
intmax = 0;
intcount = 0;
charstr1[max];
printf("pleaseinput the string:\n");
scanf("%s",str1);
for(i= 0; str1[i] != '\0'; i++)
while(str1[i]> '0' && str1[i] < '9')
i++;
count++;
if(max< count)
max= count;
count= 0;
printf("%d\n",max);
return0;
使用C語言對字串操作的分裝
使用c語言對字串操作的分裝 封裝字串函式 include 字串.h 拷貝字串 追加到乙個字串中 char mystrcat char dest,const char copystring else while copystring 0 dest 0 return first addr 在尾部增加字元...
C語言對字串的操作,拼接,複製,逆序輸出
include include 轉化 2019年8月26 void copy char from,char to 字元的複製 return k char stringcat char to,char form 兩個字串拼接一起 char strininverse char pre 逆序排列 for ...
C語言對 不定長 字串陣列的遍歷
一般來說,c語言的陣列的初始化可以通過三種方式 在宣告時使用,如 int a 10 使用memset,memset array,0,sizeof array 用for迴圈賦值c語言的陣列可以這樣宣告,int a 即不用事先計算長度,但是通過初始化的值的數量來自動判斷其長度。另外,對於這種宣告方式,便...