2012电子信息 第十三堂课后作业

作业1:
输入一个字符串和一个正整数m,将该字符串中的前m个字符复制到另一个字符串中,再输出后一个字符串。
运行示例
Enter a string: abcdefghijk
Enter an integer: 6
The new string is abcdef

#include "stdafx.h"

void main()  
{  
    char a[128],b[128];  
    int x;
    printf("Enter a string:");  
    gets_s(a);  
    printf("Enter an integer:");  
    scanf_s("%d",&x);
	for(int i=0;i<x;i++)
	{
	  b[i]=a[i];
	};
	b[x]='\0';
	puts(b);
}

----------------------分割线----------------------
作业2:
编一个函数void fun( char *ss),从键盘输入一个字符串存入数组a中,利用函数再将a的内容前后倒置后重新存入数组a中并输出(要求用指针访问数组元素)
运行示例
输入: abc 123
输出:321 cba

#include "stdafx.h"
#include<string.h> 
void fun(char *ss)      
{    
	int n=strlen(ss); 
    char t,*p,*i,*j,m=(n-1)/2;      
    i=ss; //i保存数组第一个指针     
    j=ss+n-1; //j保存数组最后一个指针     
    p=ss+m; //p保存中间指针      
    for(;i<=p;i++,j--)//首尾向中间循环(第一个跟最后个交换,依此类推)       
    {     
      t=*i;     
      *i=*j;     
      *j=t;     
    }     
}    
void main()  
{  
   char a[128];    
   printf("Please put a string:\n");    
   gets_s(a);    
   fun(a);    
   printf("output string :\n %s\n",a);    
}  


----------------------分割线----------------------
作业3:
编一个程序,输入4组整形数,每组3个数,分别求出每组最大的数字,并输出
要求:用函数int max(int *x,int *y,int *z)求出三个数中的最大数
运行示例
.

#include "stdafx.h"
int max(int *x,int *y,int *z)  
{    if(*x>=*y&&*x>=*z)   return *x;  
     if(*y>=*x&&*y>=*z)   return *y;  
     else return *z;  
}  
void main()  
{   int i;  
    int a[4][3];  
    for(i=0;i<4;i++)
	{
        scanf_s("%d %d %d",&a[i][0],&a[i][1],&a[i][2]);
	}
    for(i=0;i<4;i++)  
	{
		printf("第%d组的最大值为%d\n",i+1,max(a[i],a[i]+1,a[i]+2));  
	}
	}


----------------------分割线----------------------
作业4:
输入字符串s,将数字字符放入d数组中,最后输出d中的字符串。
运行示例
输入字符串:abc123edf456gh
输出数字 :123456

#include "stdafx.h"
void main()  
{   
 char s[128],d[128];
 int j=0;
 gets_s(s);  
 for(int i=0;s[i]!='\0';i++)
 {
	 if(s[i]<58&&s[i]>47)
	 {
		 d[j]=s[i];
		 j++;
	 }
 }
 d[j]='\0';
 puts(d);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值